const { observable, action, runInAction } = require('mobx-miniprogram');
const cloudHelper = require('../../../helpers/cloud_helper.js');
const pageHelper = require('../../../helpers/page_helper.js');
const PublicBiz = require('../../../config/public_biz_config.js');

export const companyStore = observable({
  // 公司信息数据
  companyInfo: {
    name: '艾毕胜电子科技',
    intro: '艾毕胜电子科技是一家专注于磁传感和电机驱动控制领域的高科技企业。2024年销售额超7000万人民币，现有员工30余人，其中软硬件技术开发团队10余人。',
    business: [
      '磁传感方案开发：深耕消费和工业领域的精密控制，在机器人领域持续投入研发。',
      '电机驱动控制：为消费和工业领域提供高精度的电机控制解决方案。',
      '代理与IDH服务：是纳芯微、麦歌恩、杭州瑞盟科技、杭州领芯微电子的代理商和IDH服务商。'
    ],
    advantages: [
      '专业的研发团队，具有丰富的行业经验',
      '完整的技术解决方案，从传感到控制的全链路支持',
      '快速的客户响应能力和定制化服务',
      '持续的技术创新和产品迭代'
    ],
    vision: '致力于成为磁传感和电机控制领域的领军企业，为客户提供更优质、更可靠的产品和服务，推动行业技术进步。',
    loaded: false
  },

  // 加载状态
  loading: false,

  // 获取公司信息
  loadCompanyInfo: action(async function() {
    if (this.companyInfo.loaded) return;
    
    try {
      // 使用runInAction来包装状态更新
      runInAction(() => {
      this.loading = true;
      });
      
      // 这里将来可以从云端获取公司信息，目前使用静态数据
      // const companyInfo = await cloudHelper.callCloudData('company/getInfo');
      // this.setCompanyInfo(companyInfo);
      
      // 模拟加载延迟
      await new Promise(resolve => setTimeout(resolve, 500));
      
      // 使用runInAction包装状态更新
      runInAction(() => {
      // 标记为已加载
      this.companyInfo.loaded = true;
      this.loading = false;
      });
    } catch (err) {
      console.error('[公司信息] 加载失败', err);
      
      // 使用runInAction包装状态更新
      runInAction(() => {
      this.loading = false;
      });
      
      pageHelper.showNoneToast('公司信息加载失败');
    }
  }),

  // 设置公司信息
  setCompanyInfo: action(function(info) {
    this.companyInfo = {
      ...this.companyInfo,
      ...info,
      loaded: true
    };
  }),

  // 重置公司信息状态
  resetCompanyInfo: action(function() {
    this.companyInfo.loaded = false;
  })
}); 